Modern day businesses cannot function efficiently without use of state of the art technology. Specifically, computers and software are an almost essential part of most of the businesses in developed economies. Typically, businesses use a number of software applications to manage various data related to their businesses and clients. Such data is generally stored in databases such as, a relational database and queried and manipulated using a structured query language (SQL), etc. With the proliferation and wide spread use of business computer applications, intranets, the Internet, and corporate networks, businesses often have the need to update information stored in various databases and to provide such information to users and applications over the corporate networks, Intranets and the Internet.
Over the past decade, the World Wide Web (web) has become an extremely popular vehicle for information exchange and electronic commerce over the Internet. The web uses various markup languages such as hypertext markup language (HTML), extensible markup language (XML), etc., to communicate information over the Internet. Among these languages, the XML has become the de-facto metadata language for describing application components such as forms, flows, data, and the like. XML is a simple, very flexible text format derived from standard generalized markup language (SGML) protocol. Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an especially important role in the exchange of a wide variety of data on the web and elsewhere.
Database applications such as Microsoft® Axapta®, Navision®, Great Plains® Enterprise Resource Planning (ERP) application, etc., generally have architectures that are highly tuned for processing database transactions, such as data read, data write, etc. However, such architectures are often cumbersome or narrowly designed for processing XML documents. On the other hand, XML documents have become the preferred method for exchanging data between database applications and various enterprise applications, such as customer relation management (CRM) applications, human resources applications, accounting applications, etc. It may be difficult to design an XML data exchange system for database applications as the database applications are typically built on top of a relational data model and usually their relational data schema is hard to be aligned with that of a hierarchical XML document model.
As a result, XML documents residing outside a database system is often misaligned with the data and the programming objects of the database system. Working with data, objects and XML documents is often difficult when the XML tags, program classes and methods do not share the same syntax and semantics as that of the fields used in the database tables. As a result, to efficiently share data between a database and an XML document, one may have to map the data to objects and objects to XML documents. This mapping process can be extremely tedious and error prone manual process that may require a number of specialized tools.
One solution to solving this problem may be to use a typed dataset, wherein the typed dataset can be automatically generated from an XML schema. Generating a typed dataset from an XML schema provides an object programming interface to a relational data structure that can be serialized as an XML document and de-serialized from an XML document. Unfortunately, this approach of generating a typed dataset is not widely used when a database schema already exists. Moreover, it is more natural for application developers to create SQL database queries and to automatically generate XML schema than to create XML schema and then to automatically generate a database schema. While a query provides both a data structure and a database storage/retrieval strategy, an XML schema simply provides only a data structure.